Batch Script-এ ডেটা প্রসেসিংয়ের সময় অনেক সময় বিভিন্ন ডেটা ফাইল বা স্ট্রিংয়ের মধ্যে ডেলিমিটার (Delimiter) ব্যবহার করা হয়, যেমন কমা (,), স্পেস ( ), ট্যাব (\t), সেমিকোলন (;) ইত্যাদি। ডেলিমিটার সাধারণত আলাদা আলাদা ভ্যালু বা তথ্যকে পৃথক করতে ব্যবহৃত হয়। Batch Script-এ ডেলিমিটার ব্যবহার করে ডেটা প্রসেস করার মাধ্যমে আমরা বিভিন্ন আউটপুট বা ডেটা সংগ্রহের জন্য ফাইল বা স্ট্রিং গুলি সহজে বিশ্লেষণ করতে পারি।
Delimiter ব্যবহার করে ডেটা প্রসেস করার জন্য কিছু জনপ্রিয় পদ্ধতি:
- FOR /F Loop
Batch Script-এ ডেলিমিটার দিয়ে ডেটা প্রসেস করার জন্য FOR /F লুপ ব্যবহার করা হয়। এটি একটি শক্তিশালী কমান্ড যা ফাইলের প্রতিটি লাইন, অথবা একটি স্ট্রিংয়ের প্রতিটি অংশ (ডেলিমিটার দ্বারা পৃথক) আলাদাভাবে প্রসেস করতে সক্ষম।
উদাহরণ ১: একটি ফাইল থেকে ডেলিমিটার দিয়ে ডেটা প্রসেস করা
ধরা যাক, আপনার কাছে একটি CSV ফাইল রয়েছে যা কমা দিয়ে পৃথক করা ডেটা ধারণ করে। এই ডেটা ফাইল থেকে কমা (,) দিয়ে আলাদা আলাদা ভ্যালু পড়া এবং প্রসেস করার জন্য নিচের কোডটি ব্যবহার করা যেতে পারে।
CSV ফাইল (data.csv):
John,25,Engineer
Alice,30,Doctor
Bob,22,Designer
Batch Script:
@echo off
for /F "tokens=1,2,3 delims=," %%A in (data.csv) do (
echo Name: %%A, Age: %%B, Profession: %%C
)
pause
exit
ব্যাখ্যা:
for /F "tokens=1,2,3 delims=," %%A in (data.csv)
এই লাইনটিdata.csvফাইল থেকে প্রতিটি লাইনের জন্য,(কমা) ডেলিমিটার ব্যবহার করে তিনটি ভ্যালু (নাম, বয়স, পেশা) আলাদা করে।%%A,%%B, এবং%%Cযথাক্রমে প্রথম, দ্বিতীয় এবং তৃতীয় টোকেন (অথবা ভ্যালু) ধারণ করবে, যা প্রতিটি লাইনে আলাদা আলাদা থাকবে।
আউটপুট:
Name: John, Age: 25, Profession: Engineer
Name: Alice, Age: 30, Profession: Doctor
Name: Bob, Age: 22, Profession: Designer
উদাহরণ ২: স্ট্রিং থেকে ডেলিমিটার দিয়ে ডেটা প্রসেস করা
আপনি যদি কোন স্ট্রিংয়ের মধ্যে ডেলিমিটার ব্যবহার করে ডেটা প্রসেস করতে চান, তবে FOR /F কমান্ড একইভাবে ব্যবহার করা যায়।
Batch Script:
@echo off
set string=John,25,Engineer
for /F "tokens=1,2,3 delims=," %%A in ("%string%") do (
echo Name: %%A, Age: %%B, Profession: %%C
)
pause
exit
ব্যাখ্যা:
- এখানে,
set string=John,25,Engineerএকটি স্ট্রিং সেট করা হয়েছে যা কমা দ্বারা পৃথকিত ভ্যালু ধারণ করে। for /Fকমান্ডটি সেই স্ট্রিংয়ের তিনটি টোকেন আলাদা করে%%A,%%B, এবং%%Cতে সংরক্ষণ করবে।
আউটপুট:
Name: John, Age: 25, Profession: Engineer
উদাহরণ ৩: একাধিক ডেলিমিটার ব্যবহার করা
অনেক সময় একাধিক ডেলিমিটার ব্যবহার করা হয়, যেমন স্পেস, কমা এবং সেমিকোলন। Batch Script-এ একাধিক ডেলিমিটার ব্যবহার করার জন্য delims অপশনটি একাধিক চিহ্ন দিয়ে নির্দিষ্ট করা যায়।
Batch Script:
@echo off
set string=John;25,Engineer
for /F "tokens=1,2,3 delims=,;" %%A in ("%string%") do (
echo Name: %%A, Age: %%B, Profession: %%C
)
pause
exit
ব্যাখ্যা:
- এখানে
delims=,;দ্বারা স্পেস ছাড়াও কমা এবং সেমিকোলনকে ডেলিমিটার হিসেবে ব্যবহার করা হয়েছে।
আউটপুট:
Name: John, Age: 25, Profession: Engineer
উদাহরণ ৪: ডেটা এক্সট্রাকশন
ধরা যাক, একটি টেক্সট ফাইল থেকে কিছু নির্দিষ্ট তথ্য বের করতে চাইছেন, যেখানে ডেটা ডেলিমিটার দ্বারা আলাদা করা আছে। এই পরিস্থিতিতে findstr এবং for /f কমান্ডের সংমিশ্রণ ব্যবহার করা যেতে পারে।
Text File (data.txt):
ID:123, Name:John, Age:25
ID:124, Name:Alice, Age:30
ID:125, Name:Bob, Age:22
Batch Script:
@echo off
for /F "tokens=2 delims=:" %%A in ('findstr "Name" data.txt') do (
echo Name: %%A
)
pause
exit
ব্যাখ্যা:
findstr "Name" data.txtকমান্ডটিdata.txtফাইল থেকে শুধুমাত্র সেই লাইনগুলি বের করবে যেখানে"Name"আছে।for /F "tokens=2 delims=:"কমান্ডটি প্রতিটি লাইনে:চিহ্নকে ডেলিমিটার হিসেবে ব্যবহার করে নাম বের করবে।
আউটপুট:
Name:John
Name:Alice
Name:Bob
সারাংশ
Batch Script-এ delimiter ব্যবহার করে ডেটা প্রসেস করা একটি শক্তিশালী কৌশল যা আপনাকে ডেটা ফাইল থেকে নির্দিষ্ট তথ্য বের করার সুবিধা দেয়। FOR /F কমান্ড এবং delims অপশন দিয়ে আপনি ডেলিমিটার দ্বারা আলাদা করা ভ্যালুগুলি সহজেই প্রসেস করতে পারেন। আপনি যে ডেটা ফাইল বা স্ট্রিংটি ব্যবহার করবেন, সেটির মধ্যে ডেলিমিটার ঠিকভাবে চিহ্নিত করলে Batch Script আপনাকে দ্রুত ও কার্যকরীভাবে ডেটা বিশ্লেষণ করতে সহায়তা করবে।
Read more